A Weakest Precondition Semantics for an Object-Oriented Language of Refinement
نویسندگان
چکیده
We define a predicate-transformer semantics for an objectoriented language that includes specification constructs from refinement calculi. The language includes recursive classes, visibility control, dynamic binding, and recursive methods. Using the semantics, we formulate notions of refinement. Such results are a first step towards a refinement calculus.
منابع مشابه
AWeakest Precondition Semantics for OO Languages: An OO-Separation Logic Approach
In recent years, many researchers in the programming language and formal methods communities have been investigating weakest precondition (WP) semantics for object-oriented (OO) programs. Based on a modified version of Separation Logic, OO Separation Logic, we develop in this article a WP semantics for an OO language with most important object-oriented features including subtypes, visibility, i...
متن کاملDeclarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملWeakest Precondition Semantics for OO Programs: A Separation Logic Approach
For the object oriented paradigm, providing a relatively rich model language equipped with formal semantics for practical reasoning is an important and long-standing open problem. In this work, μJava, a sufficient large subset of sequential Java is defined. An OO Separation Logic with pure reference semantic model is developed. Facilitated by this logic, the Weakest Precondition (WP) semantics ...
متن کاملA Weakest Precondition Semantics for Z
The lack of a method for developing programs from Z specifications is a widely recognized difficulty. In response to this problem, different approaches to the integration of Z with a refinement calculus have been proposed. These programming techniques are promising, but as far as we know, have not been formalized. Since they are based on refinement calculi formalized in terms of weakest precond...
متن کاملA proof outline logic for object-oriented programming
This paper describes a proof outline logic that covers most typical object-oriented language constructs in the presence of inheritance and subtyping. The logic is based on a weakest precondition calculus for assignments and object allocation which takes field shadowing into account. Dynamically bound method calls are tackled with a variant of Hoare’s rule of adaptation that deals with the dynam...
متن کامل